1. Field of the Invention
The present invention relates to an image processing apparatus, an image processing method, and an image processing program.
2. Description of the Related Art
It is becoming commonplace for an image processing apparatus such as a multifunction machine, which is capable of functioning as a printer, a copier, a scanner, and/or a facsimile machine, for example, to include a CPU for controlling various functions through execution of relevant applications in a manner similar to a computer.
For example, Japanese Patent No. 3679349 discloses an image processing apparatus that provides a function commonly used by plural applications as a platform, the applications being implemented using an API (application programming interface) of the platform. In the disclosed image processing apparatus, by providing a commonly used function as a platform, overlapping implementation of the same function in plural applications may be prevented and overall application development efficiency may be improved.
However, in a platform having a commonly used API, the granularity of the function or interface provided by the platform has to be adjusted to a suitable level in order to obtain improvements in the overall application development efficiency.
For example, when the granularity is too low, the API may have to be called numerous times even in the case of implementing an application for providing a relatively simple service, and the source code may be complicated.
On the other hand, when the granularity is too high, corrections may have to be made within the platform in the case of implementing an application that provide a service of a function that is partially changed, for example, and the number of development processes may be increased. It is particularly noted that when the dependency between modules within a platform is relatively strong, existing functions may have to be corrected in addition to introducing new functions to the platform to further complicate the situation.
Also, even in the case of changing only a part of a service (e.g., image input process) provided by an existing application, implementation of the existing application for the parts other than the changed part may not be possible. Therefore, a new source code has to be described to implement a new application.